<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> 
</CENTER>






<HR>

<H3>fix dt/reset command 
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ... 
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>dt/reset = style name of this fix command
<LI>N = recompute dt every N timesteps
<LI>Tmin = minimum dt allowed which can be NULL (time units)
<LI>Tmax = maximum dt allowed which can be NULL (time units)
<LI>Xmax = maximum distance for an atom to move in one timestep (distance units)
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>units</I> 
</UL>
<PRE>  <I>units</I> value = <I>lattice</I> or <I>box</I>
    lattice = Xmax is defined in lattice units
    box = Xmax is defined in simulation box units 
</PRE>
<P><B>Examples:</B>
</P>
<PRE>fix 5 all dt/reset 10 1.0e-5 0.01 0.1
fix 5 all dt/reset 10 0.01 2.0 0.2 units box 
</PRE>
<P><B>Description:</B>
</P>
<P>Reset the timestep size every N steps during a run, so that no atom
moves further than Xmax, based on current atom velocities and forces.
This can be useful when starting from a configuration with overlapping
atoms, where forces will be large.  Or it can be useful when running
an impact simulation where one or more high-energy atoms collide with
a solid, causing a damage cascade.
</P>
<P>This fix overrides the timestep size setting made by the
<A HREF = "timestep.html">timestep</A> command.  The new timestep size <I>dt</I> is
computed in the following manner.
</P>
<P>For each atom, the timestep is computed that would cause it to
displace <I>Xmax</I> on the next integration step, as a function of its
current velocity and force.  Since performing this calculation exactly
would require the solution to a quartic equation, a cheaper estimate
is generated.  The estimate is conservative in that the atom's
displacement is guaranteed not to exceed <I>Xmax</I>, though it may be
smaller.
</P>
<P>Given this putative timestep for each atom, the minimum timestep value
across all atoms is computed.  Then the <I>Tmin</I> and <I>Tmax</I> bounds are
applied, if specified.  If one (or both) is specified as NULL, it is
not applied.
</P>
<P>When the <A HREF = "run_style.html">run style</A> is <I>respa</I>, this fix resets the
outer loop (largest) timestep, which is the same timestep that the
<A HREF = "timestep.html">timestep</A> command sets.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>.  None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix.
</P>
<P>This fix computes a global scalar and a global vector of length 2,
which can be accessed by various <A HREF = "Section_howto.html#howto_15">output
commands</A>.  The scalar is the current
timestep size.
</P>
<P>The first element of the vector stores the cumulative simulation time
(in time units).  The cumulative time is zeroed when the fix is
created and continuously accrues thereafter.
</P>
<P>The second element of the vector stores the last timestep on which the
timestep was reset to a new value.  The scalar and vector values
calculated by this fix are "intensive".
</P>
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of
the <A HREF = "run.html">run</A> command.  This fix is not invoked during <A HREF = "minimize.html">energy
minimization</A>.
</P>
<P><B>Restrictions:</B> none
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "timestep.html">timestep</A>
</P>
<P><B>Default:</B>
</P>
<P>The option defaults is units = lattice.
</P>
</HTML>
